package com.zp.self.module.level_4_算法练习.数学.数学推理;
import org.junit.Test;

/**
 * @author By ZengPeng
 */
public class 力扣_896_单调数列 {
    @Test
    public void main() {
        
        Solution solution = new 力扣_896_单调数列().new Solution();
        System.out.println(solution);
    }

    /**
     题目：如果数组是单调递增或单调递减的，那么它是 单调 的。
         如果对于所有 i <= j，nums[i] <= nums[j]，那么数组 nums 是单调递增的。 如果对于所有 i <= j，nums[i]> = nums[j]，那么数组 nums 是单调递减的。
         当给定的数组 nums 是单调数组时返回 true，否则返回 false。

     示例 1：
     输入：nums = [1,2,2,3]
     输出：true

     示例 2：
     输入：nums = [6,5,4,4]
     输出：true

     示例 3：
     输入：nums = [1,3,2]
     输出：false

     分析：【P 💖💖】
        1.遍历：判断是否有驼峰
                --执行耗时:1 ms,击败了99.32% 的Java用户
                --编码耗时:[12:00]

     边界值 & 注意点：
        1.
     **/
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public boolean isMonotonic(int[] nums) {
        int length = nums.length;
        boolean isUp = false;
        boolean isDown = false;
        for (int i = 1; i < length; i++) {
            if(nums[i]>nums[i-1])
                isUp = true;
            else if(nums[i]<nums[i-1])
                isDown = true;
            if(isDown && isUp)
                return false;
        }
        return true;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}